package com.gdth.http.listener;

import java.util.Map;

import com.gdth.http.entity.HttpAllResult;
import com.gdth.http.entity.HttpTokenResult;

import okhttp3.RequestBody;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.PartMap;
import retrofit2.http.Query;
import retrofit2.http.Url;
import rx.Observable;

/**
 * 网络接口
 * @author arvin
 *
 */
public interface ServletListener {
    
    /**
     * 登陆获取令牌
     * @param token
     * @return
     */
    @POST("coder/coderOperate!loginByToken.do")
    Observable<HttpAllResult> loginByToken(@Query("token") String token);
    
    /**
     * 获取部门信息接口
     * @param content
     * @return
     */
    @POST("bank/tXtBmOperate!getAllBm.do")
    Observable<HttpAllResult> getAllBm(@Query("content") String content);
    
    /**
     * 登录时获取
     * @param token
     * @return
     */
    @POST("coder/coderOperate!getTokenForLogin.do")
    Observable<HttpTokenResult> getTokenForLogin(@Query("content") String username);
    
    /**
     * 获取app 
     * @param token
     * @return
     */
    @POST("bank/appimg!getImgs.do")
    Observable<String> getAppiamge();
    
    /**
     * 登录接口
     * @param content
     * @return
     */
    @POST("bank/loginOperate!login.do")
    Observable<HttpAllResult> login(@Query("content") String content, @Query("clientPublicKey") String clientPublicKey);

    @POST("bank/tJxkhOperate!getJxgzhz.do") // 绩效总工资
    Observable<HttpAllResult> getjxgzhz(@Query("content") String conetnt);
    /**
     * 获取修改的用户数据
     * @param conetnt
     * @return
     */
    @POST("bank/loginOperate!getYhForUpdate.do")
    Observable<HttpAllResult> getYhForUpdate(@Query("content") String conetnt);
    
    /**
     * 采集客户记录数据同步接口
     * @param content
     * @return
     */
    @POST("bank/tAppBfrjKhjbxxbOperate!saveBfrjInfo.do")
    Observable<HttpAllResult> upLoadCjkhxx(@Query("content") String content);

    @POST("bank/tAppBfrjKhjbxxbOperate!delBfrjInfo.do")
    Observable<HttpAllResult> delBfrjInfo(@Query("content") String content);



    
    @POST("bank/tAppBfrjKhjbxxbOperate!getWl.do")
    Observable<HttpAllResult> getWl(@Query("content") String content);
    
    /**
     * 获取所有采集信息
     * @param content
     * @return
     */
    @POST("bank/tAppBfrjKhjbxxbOperate!getBfrjInfo.do")
    Observable<HttpAllResult> getAllCjkhxx(@Query("content") String content);
    /**
     * 获取当前活动
     * @param content
     * @return
     */
    @POST("bank/tTzHdxxOperate!gethddj.do")
    Observable<HttpAllResult> gethddj(@Query("content") String content);
    /**
     * 获取当前当前用户所在部门的员工
     * @param content
     * @return
     */
    @POST("bank/tJxkhOperate!getBmList.do")
    Observable<HttpAllResult> getBmList(@Query("content") String content);
    /**
     * 保存柜面交接内容
     * @param content
     * @return
     */
    @POST("bank/gMjjOperate!saveqbList.do")
    Observable<HttpAllResult> saveqbList(@Query("content") String content);
    @POST("bank/gMjjOperate!savegxqbList.do")
    Observable<HttpAllResult> savegxqbList(@Query("content") String content);
    /**
     * 保存柜面交接内容
     * @param content
     * @return
     */
    @POST("bank/gMjjOperate!getDbjjdjList.do")
    Observable<HttpAllResult> getDbjjdjList(@Query("content") String content);
    /**
     * 保存柜面交接内容
     * @param content
     * @return
     */
    @POST("bank/gMjjOperate!getDbjjdjJson.do")
    Observable<HttpAllResult> getDbjjdjJson(@Query("content") String content);
    
    
    /**
     * 电子产品POS同步接口
     * @param content
     * @return
     */
    @POST("bank/dzcpOperate!saveDzcpPos.do")
    Observable<HttpAllResult> upLoadDzcpPos(@Query("content") String content);
    
    @POST("bank/dzcpOperate!serachDzcpkhxxpos.do")
    Observable<HttpAllResult> serachDzcpkhxxpos(@Query("content") String content);
    @POST("bank/gMjjOperate!getbjjdjList.do")
    Observable<HttpAllResult> getbjjdjList(@Query("content") String content);
    @POST("bank/gMjjOperate!getbjjdjUpList.do")
    Observable<HttpAllResult> getbjjdjUpList(@Query("content") String content);
    @POST("bank/gMjjOperate!getbjjdjOffList.do")
    Observable<HttpAllResult> getbjjdjOffList(@Query("content") String content);
    @POST("bank/gMjjOperate!getDbjjdjUpList.do")
    Observable<HttpAllResult> getDbjjdjUpList(@Query("content") String content);
    @POST("bank/gMjjOperate!getDbjjdjOffList.do")
    Observable<HttpAllResult> getDbjjdjOffList(@Query("content") String content);
    @POST("bank/gMjjOperate!getGwList.do")
    Observable<HttpAllResult> getGwList(@Query("content") String content);
    @POST("bank/gMjjOperate!getdjJson.do")
    Observable<HttpAllResult> getdjJson(@Query("content") String content);
    @POST("bank/gMjjOperate!deletejson.do")
    Observable<HttpAllResult> deletejson(@Query("content") String content);

    
    /**
     * 电子产品ETC同步接口
     * @param content
     * @return
     */
    @POST("bank/dzcpOperate!saveDzcpEtc.do")
    Observable<HttpAllResult>  upLoadDzcpEtc(@Query("content") String content);
    
    /**
     * 电子产品ETC同步接口
     * @param content
     * @return
     */
    @POST("bank/tAppSyjybOperate!saveTjSyJyb.do")
    Observable<HttpAllResult> saveTjSyJyb(@Query("content") String content);
    /**
     * 系统版本更新接口
     * @param content
     * @return
     */
    @POST("bank/tAppAppbOperate!getBbGx.do")
    Observable<HttpAllResult> getBbGx(@Query("content") String content);
    /**
     * etc ,listView列表未成交新接口
     * @param content
     * @return
     */
    @POST("bank/dzcpOperate!getDzcpEtcListData.do")
    Observable<HttpAllResult> getDzcpEtcListData(@Query("content") String content);

    /**
     * etc数据删除
     * @param content
     * @return
     */
    @POST("bank/dzcpOperate!doDelEtcinfo.do")
    Observable<HttpAllResult> getDzcpEtcDelData(@Query("content") String content);

    /**
     * etc ,listView列表未成交接口
     * @param content
     * @return
     */
    @POST("bank/dzcpOperate!getDzcpEtcYcjListData.do")
    Observable<HttpAllResult> getDzcpEtcYcjListData(@Query("content") String content);
    /**
     * etc ,listView表单未成交查询接口
     * @param content
     * @return
     */
    @POST("bank/dzcpOperate!getBdserach.do")
    Observable<HttpAllResult> getBdserach(@Query("content") String content);
    /**
     * pos,listView表单未成交查询接口
     * @param content
     * @return
     */
    @POST("bank/dzcpOperate!getWcjPosListData.do")
    Observable<HttpAllResult> getWcjPosListData(@Query("content") String content);
    @POST("bank/dzcpOperate!getPosGeRenListData.do")
    Observable<HttpAllResult> getPosGeRenListData(@Query("content") String content);
    /**
     * pos,listView表单未成交查询接口
     * @param content
     * @return
     */
    @POST("bank/dzcpOperate!getSearchPos.do")
    Observable<HttpAllResult> getSearchPos(@Query("content") String content);
    /**
     * pos,listView表单未成交下啦刷新接口
     * @param content
     * @return
     */
    @POST("bank/dzcpOperate!getDzcpPosUpListData.do")
    Observable<HttpAllResult> getDzcpPosUpListData(@Query("content") String content);
    /**
     * pos,listView表单未成交下啦刷新接口
     * @param content
     * @return
     */
    @POST("bank/dzcpOperate!getDzcpPosOfListData.do")
    Observable<HttpAllResult> getDzcpPosOfListData(@Query("content") String content);
    /**
     * etc ,listView表单已成交查询接口
     * @param content
     * @return
     */
    @POST("bank/dzcpOperate!getBdYcjserach.do")
    Observable<HttpAllResult> getBdYcjserach(@Query("content") String content);
    /**
     * 系统版本更新接口
     * @param content
     * @return
     */
    @POST("bank/dzcpOperate!serachXx.do")
    Observable<HttpAllResult> serachXx(@Query("content") String content);
    
    /******************主动营销*****************/
    /**
     * etc ,listView列表未成交下拉新接口
     * @param content
     * @return
     */
    @POST("bank/dzcpOperate!getDzcpEtcUpListData.do")
    Observable<HttpAllResult> getDzcpEtcUpListData(@Query("content") String content);
    /**
     * etc ,listView列表已成交下拉刷新接口
     * @param content
     * @return
     */
    @POST("bank/dzcpOperate!getDzcpEtcYcjUpListData.do")
    Observable<HttpAllResult> getDzcpEtcYcjUpListData(@Query("content") String content);
    /**
     * 保存主动营销
     * @param content
     * @return
     */
    @POST("bank/tZdyxsbbOperate!saveZdyxsb.do")
    Observable<HttpAllResult> saveZdyxsb(@Query("content") String content);
    
    /**
     * 查找主动营销
     * @param content
     * @return
     */
    @POST("bank/tZdyxsbbOperate!findZdys.do")
    Observable<HttpAllResult> findZdys(@Query("content") String content);
    
    /**
     * 更新申报比例
     * @param content
     * @return
     */
    @POST("bank/tZdyxsbbOperate!updataSBBL.do")
    Observable<HttpAllResult> updataSBBL(@Query("content") String content);

    /**
     * 查询营销数据
     * @param content
     * @return
     */
    @POST("bank/tZdyxsbbOperate!pageZdyxsbList.do")
    Observable<HttpAllResult> pageZdyxsbList(@Query("content") String content);
    
    @POST("bank/tXtCanshuOperate!getCanshu.do")
    Observable<HttpAllResult> getCanshu(@Query("content") String conetnt);
    
    @POST("bank/tCkwhOperate!pageCkwhList.do")
    Observable<HttpAllResult> pageCkwhList(@Query("content") String content);
    
    @POST("bank/tCkwhOperate!findCkwh.do")
    Observable<HttpAllResult> findCkwh(@Query("content") String conetnt);
    
    @POST("bank/tCktuozhanOperate!pageCktzList.do")
    Observable<HttpAllResult> pageCktzList(@Query("content") String content);
    
    @POST("bank/tCktuozhanOperate!findCktz.do")
    Observable<HttpAllResult> findCktz(@Query("content") String conetnt);
    
    @POST("bank/tDkghdjbOperate!pageDkghList.do")
    Observable<HttpAllResult> pageDkghList(@Query("content") String content);
    
    @POST("bank/tDkghdjbOperate!findDkgh.do")
    Observable<HttpAllResult> findDkgh(@Query("content") String conetnt);
    
    /**  **/
    @POST("bank/tDkghdjbOperate!pageDkghAcList.do")
	Observable<HttpAllResult> pageDkghAcList(@Query("content") String conetnt);
    
    /** 贷款包收列表 **/
	@POST("bank/tDkbsdjbOperate!pageDkbsList.do")
    Observable<HttpAllResult> pageDkbsList(@Query("content") String conetnt);

	/** 贷款包细明细 **/
	@POST("bank/tDkbsdjbOperate!findDkbsdj.do")
    Observable<HttpAllResult> findDkbsdj(@Query("content") String conetnt);
	
	/**  **/
	@POST("bank/tDkbsdjbOperate!pageDkbsdjAcList.do")
	Observable<HttpAllResult> pageDkbsdjAcList(@Query("content") String conetnt);
	
	/** 绩效考核 **/
	@POST("bank/tJxkhOperate!getCkkhjjhz.do")
	Observable<HttpAllResult> getCkkhjjhz(@Query("content") String conetnt);
	
	@POST("bank/tJxkhOperate!getJjJsHz.do")
	Observable<HttpAllResult> getJjJsHz(@Query("content") String conetnt);

	@POST("bank/tJxkhOperate!getJxgzhzmx.do")
	Observable<HttpAllResult> getJxgzhzmx(@Query("content") String conetnt); 	
	@POST("bank/tJxkhOperate!getDateByZH.do")
	Observable<HttpAllResult> getDateByZH(@Query("content") String conetnt); 	
	/**员工绩效**/
	@POST("bank/tJxkhOperate!listBmByYhZh.do")
	Observable<HttpAllResult> listBmByYhZh(@Query("content") String conetnt); 	
	@POST("bank/tJxkhOperate!listYgByJg.do")
	Observable<HttpAllResult> listYgByJg(@Query("content") String conetnt); 
	@POST("bank/tJxkhOperate!getYwljjhz.do")
	Observable<HttpAllResult> getYwljjhz(@Query("content") String conetnt); 	
	@POST("bank/tJxkhOperate!listYwljjjs.do")
	Observable<HttpAllResult> listYwljjjs(@Query("content") String conetnt); 
	@POST("bank/tDkbsdjbOperate!getTjDate.do")
	Observable<HttpAllResult> getTjDate(@Query("content") String conetnt); 
	@POST("bank/tDkbsdjbOperate!pageLxList.do")
	Observable<HttpAllResult> pageLxList(@Query("content") String conetnt); 
	@POST("bank/tJxkhOperate!getDkyxjjhz.do")
	Observable<HttpAllResult> getDkyxjjhz(@Query("content") String conetnt); 	
	@POST("bank/tJxkhOperate!listDkyxjjjs.do")
	Observable<HttpAllResult> listDkyxjjjs(@Query("content") String conetnt);
	@POST("bank/tJxkhOperate!getDkghjjhz.do")
	Observable<HttpAllResult> getDkghjjhz(@Query("content") String conetnt); 	
	@POST("bank/tJxkhOperate!getDkghJjJsHz.do")
	Observable<HttpAllResult> getDkghJjJsHz(@Query("content") String conetnt);
	@POST("bank/tJxkhOperate!getDkbsndkh.do")
	Observable<HttpAllResult> getDkbsndkh(@Query("content") String conetnt); 	
	@POST("bank/tJxkhOperate!listDkbsjjmx.do")
	Observable<HttpAllResult> listDkbsjjmx(@Query("content") String conetnt);
	@POST("bank/tJxkhOperate!getDkbsyqkhhz.do")
	Observable<HttpAllResult> getDkbsyqkhhz(@Query("content") String conetnt); 	
	@POST("bank/tJxkhOperate!listDkbsyqkhhzjjs.do")
	Observable<HttpAllResult> listDkbsyqkhhzjjs(@Query("content") String conetnt);
	@POST("bank/tJxkhOperate!getDkbsyqdfhz.do")
	Observable<HttpAllResult> getDkbsyqdfhz(@Query("content") String conetnt); 	
	@POST("bank/tJxkhOperate!listDkbsyqdfMx.do")
	Observable<HttpAllResult> listDkbsyqdfMx(@Query("content") String conetnt);
	@POST("bank/tJxkhOperate!getGljxgzjjhz.do")
	Observable<HttpAllResult> getGljxgzjjhz(@Query("content") String conetnt);
	@POST("bank/tJxkhOperate!getBsyqdk.do")
	Observable<HttpAllResult> getBsyqdk(@Query("content") String conetnt);
	@POST("bank/tJxkhOperate!getYqdkbsnddqjs.do")
	Observable<HttpAllResult> getYqdkbsnddqjs(@Query("content") String conetnt);
	@POST("bank/tJxkhOperate!getYqdkbsnddqjsjs.do")
	Observable<HttpAllResult> getYqdkbsnddqjsjs(@Query("content") String conetnt);
	@POST("bank/tJxkhOperate!getGljxgzjjhzMx.do")
	Observable<HttpAllResult> getGljxgzjjhzMx(@Query("content") String conetnt);
	@POST("bank/tJxkhOperate!dzyhjjkhgzhz.do")
	Observable<HttpAllResult> dzyhjjkhgzhz(@Query("content") String conetnt);
	@POST("bank/tJxkhOperate!listDzyhjjjsMx.do")
	Observable<HttpAllResult> listDzyhjjjsMx(@Query("content") String conetnt);
	@POST("bank/tJxkhOperate!gljxgzjjhzMx.do")
	Observable<HttpAllResult> gljxgzjjhzMx(@Query("content") String conetnt);
	@POST("bank/dzcpOperate!getDeleteDzcpPos.do")
	Observable<HttpAllResult> getDeleteDzcpPos(@Query("content") String conetnt);
	@POST("bank/dzcpOperate!getUpDzcpPosGeRenJl.do")
	Observable<HttpAllResult> getUpDzcpPosGeRenJl(@Query("content") String conetnt);
	@POST("bank/dzcpOperate!getOffDzcpPosGeRenJl.do")
	Observable<HttpAllResult> getOffDzcpPosGeRenJl(@Query("content") String conetnt);
	@POST("bank/dzcpOperate!getSearchDzcpPosGeRenJl.do")
	Observable<HttpAllResult> getSearchDzcpPosGeRenJl(@Query("content") String conetnt);
	@POST("bank/dzcpOperate!comparePosZjh.do")
	Observable<HttpAllResult> comparePosZjh(@Query("content") String conetnt);
	@POST("bank/dzcpOperate!searchDzcpPos.do")
	Observable<HttpAllResult> searchDzcpPos(@Query("content") String conetnt);
	@POST("bank/dzcpOperate!searchShaiXuanDzcpPos.do")
	Observable<HttpAllResult> searchShaiXuanDzcpPos(@Query("content") String conetnt);
	
	/**预发、扣减、手工计价**/
	@POST("bank/tJxkhOperate!khkkmx.do")
	Observable<HttpAllResult> khkkmx(@Query("content") String conetnt);
	@POST("bank/tJxkhOperate!yfjxgzmx.do")
	Observable<HttpAllResult> yfjxgzmx(@Query("content") String conetnt);
	@POST("bank/tJxkhOperate!sgjjmx.do")
	Observable<HttpAllResult> sgjjmx(@Query("content") String conetnt);
	@POST("bank/tDzyhSbkglOperate!saveSbkcj.do")
	Observable<HttpAllResult> saveSbkcj(@Query("content") String conetnt);
	@POST("bank/tDzyhSbkglOperate!pageSbkcjxxList.do")
	Observable<HttpAllResult> pageSbkcjxxList(@Query("content") String conetnt);
	@POST("bank/hdtzOperate!saveHdtz.do")
	Observable<HttpAllResult> saveHdtz(@Query("content") String conetnt);
	@POST("bank/hdtzOperate!hdtzList.do")
	Observable<HttpAllResult> hdtzList(@Query("content") String conetnt);
	@POST("bank/hdtzOperate!saveQxtz.do")
	Observable<HttpAllResult> saveQxtz(@Query("content") String conetnt);
	@POST("bank/hdtzOperate!getHdtz.do")
	Observable<HttpAllResult> getHdtz(@Query("content") String conetnt);
	@POST("bank/hdtzOperate!getHdmc.do")
	Observable<HttpAllResult> getHdmc(@Query("content") String conetnt);


	//URL访问，新接口
	@POST
	Observable<HttpAllResult> loadUrl(@Url String url,@Query("content") String conetnt);
	
    @Multipart
    @POST
    Observable<HttpAllResult> uploadFile(@Part("username") RequestBody username, @Part("password") RequestBody password);
    
    @Multipart
    @POST("register")
    Observable<HttpAllResult> uploadFiles(@PartMap Map<String, RequestBody> params,  @Part("password") RequestBody password);
	
    @POST("bank/tXxtzXxlbOperate!getAllXxtzXxlbByJsruuid.do")
    Observable<HttpAllResult> notificationList(@Query("content") String content);
    @POST("bank/tXxtzXxlbOperate!deleteByXxid.do")  		// 删除相关通知
    Observable<HttpAllResult> delNotificationList(@Query("content") String content);
    
    /**
     * 修改密码
     * @param content
     * @return
     */
    @POST("bank/app!changePwd.do")
    Observable<HttpAllResult> changePassw(@Query("content") String content);
    //  时间: 2020/5/11 5:30 PM ,作者: xjc, 作用: 获取app表数据
    @POST("bank/ssbmcyOperate!getUnbindAppList.do")
    Observable<HttpAllResult> getAppDevlist(@Query("content") String content);

    //  时间: 2020/5/11 5:30 PM ,作者: xjc, 作用: 解绑接口
    @POST("bank/ssbmcyOperate!updataAppDev.do")
    Observable<HttpAllResult> delAppDev(@Query("content") String content);

}
